Support Bundler-like namespaced feature on require config #10845
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
As you probably know, when you write
gem 'foo-bar'
in Gemfile,Bundler.require
will tries torequire 'foo/bar'
as well.This behavior is implemented here in bundler gem:
It would be nice if RuboCop works in the same way when we set
require
config in .rubocop.yml:Running
bundle gem foo-bar
will generate lib/foo/bar.rb, so we need to callrequire 'foo/bar'
to use foo-bar gem. However, I think users will want to write- foo-bar
as above.We can avoid this problem by preparing lib/foo-bar.rb on the foo-bar gem side, but RuboCop will register an offense with
Naming/FileName
cop for such file name, so I think we should avoid it.The change in this pull request would eliminate the need for files with non-standard name, such as
and additional configuration to specifically allow such file names:
Before submitting the PR make sure the following are checked:
[Fix #issue-number]
(if the related issue exists).master
(if not - rebase it).bundle exec rake default
. It executes all tests and runs RuboCop on its own code.{change_type}_{change_description}.md
if the new code introduces user-observable changes. See changelog entry format for details.